#===========================================================================
#                            block1: 请修改 ... 中的值。
#===========================================================================

#准备数据
data_list <- list(
  Y = c(320, 310, 280, 340, 300), # 观测数据
  n = 5                          # 观测数据的数量
)

#构建模型

stan_code <- "
data {
  int<lower=0> n;           // 观测数据的数量
  vector[n] Y;              // 观测数据
}

parameters {
  real mu;                  // 反应时间均值
}

model {
  // 先验分布
  mu ~ normal(300, 50);

  // 似然函数
  Y ~ normal(mu, 20);
}
"


#===========================================================================
#                            block2: 请修改 ... 中的值。
#===========================================================================
trace <- rstan::stan(
  model_code = stan_code,            # 定义的模型或模型文件路径
  data = data_list,                  # 输入数据
  chains = 2,                        # 马尔可夫链数量
  iter = 2000,                       # 总迭代次数
  warmup = 500,                      # 热身迭代次数
  seed = 202409
)